package ru.niir.goodfil.utils.filters;

import java.io.Serializable;

/**
 * Фильтр для пользователей
 */
public class UsersFilter implements Serializable
{
    /**
     * Идентификатор пользователя
     */
    private long id = -1;

    /**
     * Идентификатор клиента
     */
    private long clientId = -1;

    /**
     * ФИО
     */
    private String fio;

    /**
     * Роль пользователя
     */
    private int roleId = -1;

    /**
     * Логин
     */
    private String login;

    /**
     * Идентификатор менеджера начальника
     */
    private long parentManagerId = -1;

    /**
     * Email
     */
    private String email;

    public static UsersFilter byClientId(long clientId)
    {
        UsersFilter filter = new UsersFilter();
        filter.setClientId(clientId);
        return filter;
    }

    public String getFio()
    {
        return fio;
    }

    public void setFio(String fio)
    {
        this.fio = fio;
    }

    public int getRoleId()
    {
        return roleId;
    }

    public void setRoleId(int roleId)
    {
        this.roleId = roleId;
    }

    public String getLogin()
    {
        return login;
    }

    public void setLogin(String login)
    {
        this.login = login;
    }

    public long getParentManagerId()
    {
        return parentManagerId;
    }

    public void setParentManagerId(long parentManagerId)
    {
        this.parentManagerId = parentManagerId;
    }

    public String getEmail()
    {
        return email;
    }

    public void setEmail(String email)
    {
        this.email = email;
    }

    public long getId()
    {
        return id;
    }

    public void setId(long id)
    {
        this.id = id;
    }

    public long getClientId()
    {
        return clientId;
    }

    public void setClientId(long clientId)
    {
        this.clientId = clientId;
    }

    @Override
    public String toString()
    {
        return "UsersFilter{" +
               "id=" + id +
               ", clientId=" + clientId +
               ", fio='" + fio + '\'' +
               ", roleId=" + roleId +
               ", login='" + login + '\'' +
               ", parentManagerId=" + parentManagerId +
               ", email='" + email + '\'' +
               '}';
    }
}
